Online chat, also known as instant messaging, provides for sending of chat messages between users. Each chat message is typically addressed to a particular recipient and is delivered to its recipient in near real-time. Chat users typically log into a chat service, and are available to respond to chat messages as long as they are logged in to the service. While a chat user is logged in, other chat users can send chat messages to the first user with some degree of certainty that the first user will read the chat messages in the near future. A chat service may provide online presence information, which indicates whether a user is logged in or otherwise available to respond to chat messages. The chat service may provide online presence information based on a user's login status. That is an online chat services able to provide a presence indicator because a user is required to log in or otherwise connect to the chat service. When a user logs out, chat messages become less effective for communicating with the user, because, for example, the user may not read the chat messages immediately. Some chat services may not permit chat messages to be sent to users who are not logged in.
Chat is particularly useful for sending messages to a recipient who is logged in to a chat service, but less useful when the recipient is not logged into the chat service. Chat is sometimes referred to as instant messaging because of the near real-time nature of a chat conversation. Chat typically involves a client program with which users interact. The client program sends and receives chat messages via a computer network to and from a chat service with which other client programs can also communicate. The chat service and the client programs provide delivery chat messages between different users in near real time. The client program typically has a user interface which displays chat messages received from other chat users. For example, in the Yahoo!® Messenger™ chat service, a client program interacts with the user to send chat messages to and from the chat service using a network protocol called YMSG. Other chat providers include Windows Live® Messenger and America Online's AOL Instant Messenger®. Each chat provider typically has its own protocol and provides a specialized client program for sending chat messages via that protocol.
Email can also provide near real-time communication, but many users prefer to use chat, because, for example, chat provides online presence information that indicates whether a user is currently available, since a chat user who is available is likely to respond quickly. However many users prefer to use email to communicate with others who are not locked into a chat service. Many users prefer to use email when chat is not available because email typically provides a more reliable medium for delivering messages. If an email messages is sent to a recipient who is not logged in, the email message will be retained by the email service until the user retrieves the message. Email and chat typically have separate user interfaces. If a user has composed a chat message to another chat user, but the other chat user logs out before the message has been sent, then the first user should re-create the message in email user interface to ensure that the message will be read. Furthermore the first user may not be aware that the second user has logged out and may continue to compose the chat message and send it, at which point the first user would learn that the message cannot be sent.
Therefore it would be desirable to minimize the effort, e.g. number of user interface actions, involved in creating an email message based on a previously composed chat message, and to notify users when other chat users become unavailable or logout of the chat service. Similarly, in the opposite direction, it would be desirable to allow email users to create chat messages based on previously composed email messages with minimal effort and to notify email users when chat users log into the chat service.